//package com.hz.tgb.data.redis.example.config;
//
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.cloud.context.config.annotation.RefreshScope;
//import org.springframework.data.redis.connection.RedisNode;
//import org.springframework.stereotype.Component;
//import org.springframework.util.CollectionUtils;
//
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Map;
//
///**
// * apollo配置映射Bean
// */
//@Component
//@ConfigurationProperties(prefix = "redis")
//@RefreshScope
//public class RedisConfigBean {
//    private Integer cacheExpireTime;
//    private Integer randomRange;
//    private String password;
//    private Integer timeoutInMillis;
//    private Integer readTimeoutInMillis;
//    private Integer dbIndex;
//    private Integer maxTotal;
//
//    public Integer getMaxTotal() {
//        return maxTotal;
//    }
//
//    public void setMaxTotal(Integer maxTotal) {
//        this.maxTotal = maxTotal;
//    }
//
//    private List<Map<String, String>> nodesInfo;
//
//    public Integer getCacheExpireTime() {
//        return cacheExpireTime;
//    }
//
//    public void setCacheExpireTime(Integer cacheExpireTime) {
//        this.cacheExpireTime = cacheExpireTime;
//    }
//
//    public Integer getTimeoutInMillis() {
//        return timeoutInMillis;
//    }
//
//    public void setTimeoutInMillis(Integer timeoutInMillis) {
//        this.timeoutInMillis = timeoutInMillis;
//    }
//
//    public Integer getReadTimeoutInMillis() {
//        return readTimeoutInMillis;
//    }
//
//    public void setReadTimeoutInMillis(Integer readTimeoutInMillis) {
//        this.readTimeoutInMillis = readTimeoutInMillis;
//    }
//
//    public Integer getRandomRange() {
//        return randomRange;
//    }
//
//    public void setRandomRange(Integer randomRange) {
//        this.randomRange = randomRange;
//    }
//
//    public String getPassword() {
//        return password;
//    }
//
//    public void setPassword(String password) {
//        this.password = password;
//    }
//
//    public Integer getDbIndex() {
//        return dbIndex;
//    }
//
//    public void setDbIndex(Integer dbIndex) {
//        this.dbIndex = dbIndex;
//    }
//
//    public List<Map<String, String>> getNodesInfo() {
//        return nodesInfo;
//    }
//
//    public void setNodesInfo(List<Map<String, String>> nodesInfo) {
//        this.nodesInfo = nodesInfo;
//    }
//
//    public List<RedisNode> getNodesInfoList() {
//        if (CollectionUtils.isEmpty(nodesInfo)) {
//            throw new RuntimeException("redis nodes is empty");
//        }
//        List<RedisNode> list = new ArrayList<>();
//        nodesInfo.forEach(map -> list.add(new RedisNode(map.get("ip"), Integer.parseInt(map.get("port")))));
//        return list;
//    }
//
//    @Override
//    public String toString() {
//        return "RedisConfigBean{" +
//                "cacheExpireTime=" + cacheExpireTime +
//                ", randomRange=" + randomRange +
//                ", password='" + password + '\'' +
//                ", timeoutInMillis=" + timeoutInMillis +
//                ", readTimeoutInMillis=" + readTimeoutInMillis +
//                ", dbIndex=" + dbIndex +
//                ", maxTotal=" + maxTotal +
//                ", nodesInfo=" + nodesInfo +
//                '}';
//    }
//}
